<template>
    <div>
      <p>
          此行用户书写每列单元格里的数据需要满足的规则，可以有多个，多个规则用英文分号隔开（;）
        </p>
        <p>内置规则如下：</p>
        <p>【int类型】</p>
        <p>
          range(min,max) 比如：range(1,10)表示 1&lt;单元格值&lt;10
          &nbsp;&nbsp;&nbsp;&nbsp;range(-,10)或range(,10)表示
          单元格值&lt;10，range用的小括号，可以理解为开区间
        </p>
        <p>
          range[min,max] 比如：range(1,10)表示 1&le;单元格值&le;10
          &nbsp;&nbsp;&nbsp;&nbsp;range[-,10]或range[,10]表示
          单元格值&le;10，range用的中括号，可以理解为闭区间
        </p>
        <p>max(value) 最大值，等同于range(-,max+1)或range(,max+1)</p>
        <p>min(value) 最小值，等同于range(min-1,-)或range(min-1,)</p>
        <p>bit(value) 位运算</p>
        <p>
          eps(表达式)
          表达式支持简单的加减乘除，计算结果为int，比如eps($(level)*1000+$(star))
          表示单元格的值为level列单元格值*1000+star列单元格值 eps为expression缩写
        </p>
        <p>
          fk(其他表格名) 比如fk(level)
          表示单元格的值为level表的主键id值，fk是ForeignKey的缩写
        </p>
        <p>in(value集合) 比如in(1,2,3,4,5) 表示此单元格的值只能是括号里的数字</p>
        <p>【float类型】</p>
        <p>range(min,max) 和int类型的eps一样，只不过里面计算的value为float类型</p>
        <p>max(value) 和int类型的eps一样，只不过里面计算的value为float类型</p>
        <p>min(value) 和int类型的eps一样，只不过里面计算的value为float类型</p>
        <p>eps(表达式) 和int类型的eps一样，只不过里面计算的value为float类型</p>
        <p>【string类型】</p>
        <p>
          len[min,max]
          写法类似int类型的range,表示字符串的长度限制，min值最小为-1，即使写了负数解析时也会替换成0，len为length的缩写
        </p>
        <p>len(value) 表示长度固定为value</p>
        <p>reg(正则表达式) 表示字符串要满足正则表达式，reg为regexp的缩写</p>
        <p>
          resource(资源名)
          表示单元格内的字符为资源路径(相对资源名配置的路径)，会检查资源是否存在，需要配置资源名对应的路径
        </p>
        <p>
          eps(字符串拼接表达式) 例如：eps(ui_pet_+$(id)+_item) todo
          对引用的数据进行截取操作
        </p>
        <p>【[]一维数组类型】</p>
        <p>len(min,max) 写法类似int类型的range，表示数组元素个数的限制，min最小值为-1</p>
        <p>len(value) 表示元素个数固定为value</p>
        <p>[元素索引集](嵌套规则) 表示索引集里索引对应元素满足的规则</p>
        <p>索引集写法：</p>
        <p>[1,3,5] 每个索引单独写出</p>
        <p>[range(min,max)] 大于min，小于max的索引,写法同int类型的range</p>
        <p>[lt(5)] 小于5的索引，等同于range(-,5)或range(,5)，lt为less than 的缩写</p>
        <p>[gt(5)] 大于5的索引，等同于range(5,-)或range(5,)，gt为greater than 的缩写</p>
        <p>[even(5)] 偶数的索引</p>
        <p>[odd(5)] 奇数的索引</p>
        <p>嵌套规则写法：</p>
        <p>元素数据类型支持的规则都可以写</p>
        <p>
          比如：[1,2,4,gt(5)](min(0))
          表示索引1,2,4和大于5的索引对应值最小值为0，注意写的索引集的时候不要规则冲突了
        </p>
        <p>
          比如：[1](&#64;Quality(2))
          索引为1的元素为枚举Quality的字段序列值，一般数据表中涉及枚举值时，都使用的是字段序列值
        </p>
        <p>注意写嵌套规则的时候，避免元素类型不支持写的规则</p>
        <p>【[][]二维数组类型】</p>
        <p>
          len(min,max) 写法类似int类型的range，表示外层数组元素个数的限制，min最小值为-1
        </p>
        <p>
          [外层元素索引集][内层元素索引集](嵌套规则) 表示索引集里索引对应元素满足的规则
        </p>
        <p>索引集写法：</p>
        <p>
          外层和内层索引集的写法一样，都和一维数组的一样，其中内层索引集如果包含“-”,则其他索引规则失效，表示内层一维数组元素整体
        </p>
        <p>嵌套规则写法：</p>
        <p>元素数据类型支持的规则都可以写</p>
        <p>比如：[*][*](fk(level)) 表示每个元素都是level表的主键id值</p>
        <p>
          比如：[1][1](fk(level))
          表示二维数组中，第一个内层数组的第一个元素是level表的主键id值
        </p>
        <p>比如：[*][-](len(5)) 表示二维数组中，里层每个一维数组长度固定为5</p>
        <p>比如：[1][-](len(5)) 表示二维数组中，里层第二个一维数组长度固定为5</p>
        <p>注意写嵌套规则的时候，避免元素类型不支持写的规则</p>
    </div>
</template>

<script setup lang="ts">

</script>

<style scoped>

</style>